import router from '@ohos.router';
import hilog from '@ohos.hilog';


// 页面栈的最大容量为32个页面。如果超过这个限制，可以调用router.clear()方法清空历史页面栈，释放内存空间。
// 需要在 src/main/resources/base/profile/main_pages.json 路径下加入页面路径 访问时与此路径保持一致即可
// 页面需要用entry装饰
export default {
  /**
   * 关闭所有页面，打开到应用内的某个页面
   * @param url 页面路径
   * @returns
   */
  reLaunch(url:string,params?:any): Promise<void>{
    return router.pushUrl({url,params},router.RouterMode.Single).then(()=>{
      router.clear()
    })
  },

  /**
   * 关闭当前页面，跳转到应用内的某个页面
   * @param url 页面路径
   * @returns
   */
  redirectTo(url: string, params?: any): Promise<void> {
    return router.replaceUrl({url,params},router.RouterMode.Single)
  },

  /**
   * 保留当前页面，跳转到应用内的某个页面
   * @param url 页面路径
   * @returns
   */
  navigateTo(url: string, params?: any): Promise<void> {
    return router.pushUrl({url,params},router.RouterMode.Single)
  },

  /**
   * 关闭当前页面，返回上一页面或多级页面
   * @returns
   */
  navigateBack(): Promise<void> {
    return new Promise<void>((resolve)=>{
      router.back()
      resolve()
    })
  },

  getParams() {
    return router.getParams()
  },
}